package demo04;

import java.util.List;
import java.util.Map;
import java.util.Set;

/*
 *  JDK9的新特性：
 *      List接口、Set接口、Map接口：增加了一个静态方法of，可以一次性给集合添加多个元素
 *      使用前提：集合中存储的元素个数已经决定，不会再改变时可以使用
 *  注意：
 *      1. of方法只适用于List接口、Set接口、Map接口，不适用于这些接口的实现类
 *      2. of方法的返回值是一个不能改变的集合，集合不再能使用add、put方法添加元素，否则会抛出异常
 *      3. Set接口和Map接口在调用of方法时不能有重复元素，否则会抛出异常
 */
public class Demo01JDK9 {
    public static void main(String[] args) {
        // // 注意：使用of方法时请注意你的JDK版本必须为9+，才能正常运行！
        // List<String> list = List.of("a", "b", "c", "d", "a");
        // System.out.println(list); // [a, b, c, d, a]
        // // list.add("e"); // UnsupportedOperationException不支持操作异常

        // // Set<String> set = Set.of("a", "b", "c", "d", "a"); // IllegalArgumentException非法参数异常，不能有重复元素
        // Set<String> set = Set.of("a", "b", "c", "d");
        // System.out.println(set); // [a, b, c, d]
        // // set.add("e"); // UnsupportedOperationException不支持操作异常

        // // Map<String, Integer> map = Map.of("a", 1, "b", 2, "c", 3, "a", 4); // IllegalArgumentException非法参数异常，不能有重复键
        // Map<String, Integer> map = Map.of("a", 1, "b", 2, "c", 3);
        // System.out.println(map); // {a=1, b=2, c=3}
        // // map.put("d", 5); // UnsupportedOperationException不支持操作异常
    }
}